package tenth.通配符.受限泛型;

class Info2<T extends Number> {  // 此处泛型只能是数字类型
    private T var;      // 此变量的类型由外部决定

    public T getVar() {  // 返回值的类型由外部指定
        return var;
    }

    public void setVar(T var) {
        this.var = var;
    }

    public String toString() {
        return this.var.toString();
    }
}

/**
 * 上面的Info类中，泛型的范围就是所有的数字 如果此时声明的泛型对象是Number的子类，则肯定不会有任何的问题，如果声明的不是数字类型，则肯定会出错
 */

public class 在类定义时指定泛型的上限 {
    public static void main(String[] args) {
        //正确的声明
        Info<Integer> i1 = new Info<>();
        System.out.println("内容："+i1);
        //错误的声明
        Info<String> i2 = new Info<>();
        System.out.println("内容："+i2);

    }
}
